На самом фундаментальном уровне язык R не работает с отдельными скалярами, а с атомарными векторами. Каждый объект в R представляет собой набор элементов одного и того же типа, определяемый их внутренним режимом хранения.
1. Атомарный вектор
Даже одно значение, такое как z <- 100 , является вектором длины один. Язык R обрабатывает последовательности данных —логические, целочисленные, числа с плавающей точкой, комплексные, символьные, и сырые (бинарные)—в качестве основной единицы операций.
2. Присваивание и создание
Мы используем оператор присваивания <- для привязки имён к памяти. Многомерные векторы создаются с помощью функции c() (объединение) или оператора : (последовательность), например z <- 0:9.
3. Внутреннее хранение
Функция typeof() раскрывает низкоуровневое представление объекта в стиле С. Например, язык R различает между числовыми (с плавающей точкой) и символьные (строки, заключённые в "") Атомарные векторы обеспечивают однородность: каждый элемент должен быть одного типа.
$$\text{typeof}(0:9) \rightarrow \text{"integer"}$$